【隨堂筆記】運算思維與流程圖


  • 運算思維是使用電腦科學角度來思考解決問題的方式與步驟的思考方式
    特徵:拆解/分解、模式識別/資料表示,泛化/抽象、演算法
    (1) 拆解/分解:分解問題,並縮小問題範圍
    (2) 模式識別/資料表示:辨識是否有重複的模式
    (3) 泛化/抽象:將問題抽象化、一般化
    p.s. 泛化(Generalization):可以被廣泛使用但在我們模型範圍內(= 適應性好)
    (4) 演算法:設計解決問題的步驟
  • 甚麼是程式設計?

    程式(program) = 一系列電腦指令(command)的集合
    程式設計 = 資料結構(data structure) + 演算法(algorithm)


資料結構:資料在程式中儲存的方式
演算法:執行程式的方法、步驟

  • 在撰寫程式(programming)之前通常會先把程式演算法(algorithm)邏輯用筆寫下來進行分析

    演算法是一個有輸入且有輸出的解決問題的步驟,它具有明確和有限步驟且有效的特性

  • 在寫程式前會進行3個步驟:
    (1) 將需求轉換成文字描述
    ex.
    初始化計算值
    -> 從 1 累加到 20
    -> 累加完後印出結果
    -> 結束程式
    (2) 將需求轉換成虛擬碼(Pseudocode)
    p.s. 虛擬碼(Pseudocode)不是實際的程式碼,是一種描述演算法的一種方式

    # 注意以下為虛擬碼,非正式程式碼,表示從 1 到 20 累加
    # 宣告兩個變數 counter / result
    counter = 1
    result = 0
    # 當 counter 小於等於 20 執行下列 {} 區塊
    while counter <= 20
    {
       # 累加結果
      result = result + counter
      # counter + 1
      add 1 to counter
    }
    # 印出結果
    output result
    

    (3) 畫出流程圖(Flow Chart):以圖示表達整個程式邏輯流程
    構成流程圖的基本圖示:
    (來源:第 12 期電腦科學概論 & 程式設計思維入門共學營)

    橢圓形:代表開始結束
    長方形:代表執行、處理過程
    菱形:代表條件判斷,做決策
    平行四邊形:代表輸入/輸出
    箭頭線:代表流程執行順序
    圓形:代表連結多個來源的箭頭線

流程圖為由上往下執行。
(來源:第 12 期電腦科學概論 & 程式設計思維入門共學營)

  • 變數宣告(variable):變數是一個暫存資料的地方(暫存在記憶體中)
  • True/False 在程式中稱為布林值(Boolean),用於邏輯判斷
  • 函式(function):f(x) = y 丟入x,回傳y
    透過函式可以讓程式更容易模組化重複使用也更容易閱讀






你可能感興趣的文章

進階 React Component Patterns 筆記(上)

進階 React Component Patterns 筆記(上)

JS 時間日期處理

JS 時間日期處理

Jump Diffusion Option Valuation in  Discrete Time

Jump Diffusion Option Valuation in Discrete Time






留言討論